/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Data-Chart
 * Data-Chart API
 *
 * OpenAPI spec version: v1
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;
using JDCloudSDK.Core.Service;

using JDCloudSDK.Core.Annotation;
using Newtonsoft.Json;

namespace  JDCloudSDK.Waf.Apis
{

    /// <summary>
    ///  获取网站在一定时间内的日志详情。
    /// </summary>
    public class GetEsLogDetailRequest : JdcloudRequest
    {
        ///<summary>
        /// 实例id，代表要查询的WAF实例，为空时表示当前用户下的所有实例
        ///</summary>
        public   string WafInstanceId{ get; set; }
        ///<summary>
        /// 域名，为空时表示当前实例下的所有域名
        ///</summary>
        public   string Domain{ get; set; }
        ///<summary>
        /// 来源ip，检索字段
        ///</summary>
        public   string Remote_addr{ get; set; }
        ///<summary>
        /// URI，检索字段
        ///</summary>
        public   string Document_uri{ get; set; }
        ///<summary>
        /// url，检索字段
        ///</summary>
        public   string Url{ get; set; }
        ///<summary>
        /// 来源地域，检索字段
        ///</summary>
        public   string Anti_geo{ get; set; }
        ///<summary>
        /// 请求方法，检索字段
        ///</summary>
        public   string Request_method{ get; set; }
        ///<summary>
        /// 动作，检索字段，支持类型：&quot;&quot;(为空时，默认查询全部动作类型)，&quot;-&quot;(放行)，&quot;notice&quot;(观察)，&quot;forbidden OR status&quot;(拦截)，&quot;redirect&quot;(浏览器跳转)，&quot;verify&quot;(人机交互)
        ///</summary>
        public   string Action{ get; set; }
        ///<summary>
        /// 状态码，检索字段
        ///</summary>
        public   string Status{ get; set; }
        ///<summary>
        /// 日志类型，检索字段，支持类型：&quot;&quot;(为空时，默认查询全部日志类型)，&quot;access&quot;(访问日志)，&quot;waf&quot;(wafSDK)，&quot;acl&quot;(自定义规则)，&quot;skip&quot;(白名单)，&quot;deny&quot;(黑名单)，&quot;cc&quot;(CC攻击)，&quot;webcache&quot;(网页防篡改)，&quot;css&quot;(跨站脚本攻击)，&quot;sqli&quot;(SQL注入攻击)，&quot;&quot;fileinc&quot;(文件读取/包含攻击)，&quot;cmding&quot;(命令/代码执行攻击)，&quot;sdd&quot;(敏感文件探测)，&quot;malscan&quot;(恶意扫描攻击)，&quot;bckack&quot;(恶意/后门文件攻击)，&quot;xmli&quot;(XML注入攻击)，&quot;dirt&quot;(目录遍历攻击)
        ///</summary>
        public List<string> LogType{ get; set; }

        ///<summary>
        /// 日志Id，检索字段
        ///</summary>
        public   string LogId{ get; set; }
        ///<summary>
        /// 开始时间戳，单位秒，时间间隔要求大于5分钟，小于30天。
        ///Required:true
        ///</summary>
        [Required]
        public   int Start{ get; set; }
        ///<summary>
        /// 结束时间戳，单位秒，时间间隔要求大于5分钟，小于30天。
        ///Required:true
        ///</summary>
        [Required]
        public   int End{ get; set; }
        ///<summary>
        /// 每页显示的个数，默认是10。
        ///Required:true
        ///</summary>
        [Required]
        public   int PageSize{ get; set; }
        ///<summary>
        /// 页数，默认是1。
        ///Required:true
        ///</summary>
        [Required]
        public   int PageIndex{ get; set; }
        ///<summary>
        /// 实例所属的地域ID
        ///Required:true
        ///</summary>
        [Required]
        [JsonProperty("regionId")]
        public   string RegionIdValue{ get; set; }
    }
}